#include <iostream>

using std::cout;
using std::endl;

class Point
{
public:
    Point(int ix)
    : _iy(ix)
    , _ix(_iy)  //_ix在类中被声明时，是排在第一位的，
                //所以先执行_ix的初始化;而_iy还没有被初始化
                //它的值是不确定的, 最终导致_ix的值就是不确定的
    {
        cout << "Point(int,int)" << endl;
    }

    void print() 
    {
        cout << "(" << _ix << "," << _iy << ")" << endl;
    }

    //数据成员初始化的顺序不是由其在初始化列表中的顺序决定的，
    //而是由其在类中被声明时的顺序决定的
private:
    int _ix;
    int _iy;
};

int main()
{
    int a = 0;
    a = 1;//赋值语句
    
    Point pt1(1);
    pt1.print();

    return 0;
}

